消息签名

概述

DApp 要求用户对十六进制消息进行签名,签名后的消息将被转发到后端,用于验证用户的登录是否合法。

先决条件

DApp发送请求,要求用户将钱包连接到网站,用户同意连接。

规格

例子复制

if (window.tronLink.ready) {
  const tronweb = tronLink.tronWeb;
  try {
    const message = "0x1e"; // any hex string
    const signedString = await tronweb.trx.sign(message);
  } catch (e) {}
}

参数

“tronLink.tronWeb.trx.sign”接受一个十六进制字符串作为参数,该字符串代表需要签名的内容。

返回

如果用户在弹窗中选择签名,DApp 将获取签名后的十六进制字符串。例如:复制

0xaa302ca153b10dff25b5f00a7e2f603c5916b8f6d78cdaf2122e24cab56ad39a79f60ff3916dde9761baaadea439b567475dde183ee3f8530b4cc76082b29c341c

如果发生错误,将返回以下信息:复制

Uncaught (in promise) Invalid transaction provided

相互作用

当执行“tronweb.trx.sign(message);”时,TronLink 钱包会弹出一个窗口,要求用户确认,如下所示。消息内容为十六进制:

如果用户在弹出窗口中选择“拒绝”,则会抛出异常,开发人员可以捕获该异常以进行进一步处理。





Would you like to share your thoughts?

Your email address will not be published. Required fields are marked *